package com.example.communist_app_api.service;

import com.example.communist_app_api.db.dto.MessageAuditDTO;
import com.example.communist_app_api.db.dto.MessageDTO;
import com.example.communist_app_api.db.pojo.Message;
import com.example.communist_app_api.vo.web.req.MessageAuditShowReq;
import com.github.pagehelper.PageInfo;

import java.util.Date;
import java.util.List;

public interface MessageService {
    void createMessage(String content, List<String> photoUrlList, Integer userId);

    void createMessageBySystem(String content, Integer userId, int auditor_id);

    Integer createSonMessageBySystem(String content, Integer messageId, Integer userId, int auditorId);

    void createSonMessage(String content, Integer messageId, Integer userId);

    List<MessageDTO> selectMessageByCondition(String content);

    void refresh();

    List<MessageDTO> personalMessageCenter(Integer userId);

    void personalMessageCenterDelete(Integer messageId ,Integer sonMessageId ,Integer userId,Integer receiverId);

    PageInfo<MessageDTO> selectMessageByConditionByWeb(String content, Date startTime, Date endTime, Integer pageSize, Integer pageNum,Integer userId);

    PageInfo<MessageAuditDTO> selectAllMessageByAudit(MessageAuditShowReq req,Integer userId);

    Integer updateAuditMessage(Integer messageId, Integer auditorId);

    void deleteMessageByMessageId(Integer messageId);

    String findContentByMessageId(Integer messageId);

    String findContentBySonMessageId(Integer sonMessageId);

    Message findMessageByMessageId(Integer messageId);
}
